﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class УправлениеЗадачами
	{
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ ЗАДАЧ
		// Процедура заполняет реквизиты адресации у задачи
		//

		public void ЗаписатьАдресациюЗадачи(/*Задача, Организация, РольИИсполнитель, Подразделение = Неопределено*/)
		{
			if(true/*Константы.РазделятьЗадачиПоОрганизациям.Получить()*/)
			{
				//Задача.Организация	= Организация;
			}
			if(true/*Константы.РазделятьЗадачиПоРолямИсполнителей.Получить()*/)
			{
				//Задача.Роль			= РольИИсполнитель;
			}
			//УправлениеЗадачамиПереопределяемый.ЗаписатьАдресациюЗадачиДополнительно(Задача, Подразделение);
		}
		// Процедура вызывает алгоритмы формирования задач для каждого вида задачи
		//

		public void СформироватьСписокЗадач(/**/)
		{
			/*// Получение списка нужных видов задач
*/
			//ЗапросНужныхВидовЗадач = Новый Запрос;
			/*ЗапросНужныхВидовЗадач.Текст =
	"ВЫБРАТЬ
	|	ВидыЗадачПользователей.Ссылка КАК ВидЗадачиПользователей
	|ИЗ
	|	Справочник.ВидыЗадачПользователей КАК ВидыЗадачПользователей
	|ГДЕ
	|	(НЕ ВидыЗадачПользователей.ПометкаУдаления)
	|	И ВидыЗадачПользователей.Использование";*/
			//ВыборкаЗапросаВидовЗадач = ЗапросНужныхВидовЗадач.Выполнить().Выбрать();
			/*// Подготовка общих данных
*/
			//ВремяФормированияЗадач = ТекущаяДата();
			if(true/*День(ВремяФормированияЗадач) < 20*/)
			{
				//АктуальныйПериодРегистрации = НачалоМесяца(ДобавитьМесяц(ВремяФормированияЗадач, -1));
			}
			/*// Организации нужно обрабатывать все
*/
			//Запрос = Новый Запрос;
			/*Запрос.Текст =
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ
	|	Организации.Ссылка,
	|	ВЫБОР
	|		КОГДА Организации.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
	|			ТОГДА Организации.Ссылка
	|		ИНАЧЕ Организации.ГоловнаяОрганизация
	|	КОНЕЦ КАК ГоловнаяОрганизация
	|ИЗ
	|	Справочник.Организации КАК Организации";*/
			//Выгрузка = Запрос.Выполнить().Выгрузить();
			//СписокОрганизаций			= Выгрузка.ВыгрузитьКолонку("Ссылка");
			//СписокГоловныхОрганизаций	= Выгрузка.ВыгрузитьКолонку("ГоловнаяОрганизация");
			//ЕстьЗадачиВозвратНаРаботу			= Ложь;
			//ЕстьЗадачиКадровоеПеремещение		= Ложь;
			//ЕстьЗадачиОценкаИспытательногоСрока	= Ложь;
			//ЕстьЗадачиУвольнение				= Ложь;
			/*// Обход выборки запроса и заполнение задач по видам
*/
			while(true/*ВыборкаЗапросаВидовЗадач.Следующий()*/)
			{
				if(true/*(ВыборкаЗапросаВидовЗадач.ВидЗадачиПользователей = Справочники.ВидыЗадачПользователей.ВозвратНаРаботу)*/)
				{
					//ЕстьЗадачиВозвратНаРаботу			= Истина;
				}
			}
			/*;
	
	ДобавитьЗадачиНамеченныеСобытияПоПерсоналу(ВремяФормированияЗадач, СписокГоловныхОрганизаций, ЕстьЗадачиВозвратНаРаботу, ЕстьЗадачиКадровоеПеремещение, ЕстьЗадачиОценкаИспытательногоСрока, ЕстьЗадачиУвольнение);*/
			/*// Удалим выполненные задачи 3х месячной давности
*/
			//Запрос.УстановитьПараметр("АктуальныйПериодРегистрации",	АктуальныйПериодРегистрации);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	Задачи.Ссылка
	|ИЗ
	|	Задача.ЗадачаИсполнителя КАК Задачи
	|ГДЕ
	|	Задачи.Выполнена
	|	И Задачи.Дата < ДОБАВИТЬКДАТЕ(&АктуальныйПериодРегистрации, МЕСЯЦ, -3)";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//Выборка.Ссылка.ПолучитьОбъект().Удалить();
			}
			/*// Изменение Константы ДатаАктуальностиЗадач
*/
			//Константы.ДатаАктуальностиЗадач.Установить(ВремяФормированияЗадач);
		}

		public void ОтменитьЗадачу(/*ВидЗадачи, ОбъектЗадачи*/)
		{
			if(true/*ВидЗадачи = Справочники.ВидыЗадачПользователей.Перерасчет*/)
			{
				//УдалитьЗадачуПерерасчет(ОбъектЗадачи);
			}
		}
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ ЗАДАЧ ЗАРПЛАТНО-КАДРОВОЙ ФУНКЦИОНАЛЬНОСТИ

		public void ДобавитьЗадачиДниРождения(/*ВремяФормированияЗадач*/)
		{
			//ЗапросДляДнейРождения = Новый Запрос;
			/*ЗапросДляДнейРождения.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ВЫБОР
	|		КОГДА МЕСЯЦ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) = 12
	|				И МЕСЯЦ(&ВремяФормированияЗадач) = 1
	|			ТОГДА ДОБАВИТЬКДАТЕ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения, ГОД, ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) - 1)
	|		КОГДА МЕСЯЦ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) = 1
	|				И МЕСЯЦ(&ВремяФормированияЗадач) = 12
	|			ТОГДА ДОБАВИТЬКДАТЕ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения, ГОД, ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) + 1)
	|		ИНАЧЕ ДОБАВИТЬКДАТЕ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения, ГОД, ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения))
	|	КОНЕЦ КАК Период,
	|	РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.Наименование КАК Наименование,
	|	РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо КАК Ссылка,
	|	РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.Пол КАК Пол,
	|	ВЫБОР
	|		КОГДА (ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения)) / 5 = (ВЫРАЗИТЬ((ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения)) / 5 КАК ЧИСЛО(4, 0)))
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК ДополнительныеДанные,
	|	ВЫБОР
	|		КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1)
	|			ТОГДА РаботникиОрганизацийСрезПоследних.ОбособленноеПодразделениеЗавершения
	|		ИНАЧЕ РаботникиОрганизацийСрезПоследних.ОбособленноеПодразделение
	|	КОНЕЦ КАК Организация
	|ИЗ
	|	РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			Задачи.ОбъектЗадачи КАК ФизЛицо,
	|			Задачи.Дата КАК Дата
	|		ИЗ
	|			Задача.ЗадачаИсполнителя КАК Задачи
	|		ГДЕ
	|			Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.ДеньРождения)) КАК Существующие
	|		ПО (Существующие.ФизЛицо = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо)
	|			И (ВЫБОР
	|				КОГДА МЕСЯЦ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) = 12
	|						И МЕСЯЦ(&ВремяФормированияЗадач) = 1
	|					ТОГДА ДОБАВИТЬКДАТЕ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения, ГОД, ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) - 1)
	|				КОГДА МЕСЯЦ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) = 1
	|						И МЕСЯЦ(&ВремяФормированияЗадач) = 12
	|					ТОГДА ДОБАВИТЬКДАТЕ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения, ГОД, ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) + 1)
	|				ИНАЧЕ ДОБАВИТЬКДАТЕ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения, ГОД, ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения))
	|			КОНЕЦ = Существующие.Дата)
	|ГДЕ
	|	ВЫБОР
	|			КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1)
	|				ТОГДА РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения
	|			ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния
	|		КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
	|	И ВЫБОР
	|			КОГДА МЕСЯЦ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) = 12
	|					И МЕСЯЦ(&ВремяФормированияЗадач) = 1
	|				ТОГДА ДОБАВИТЬКДАТЕ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения, ГОД, ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) - 1)
	|			КОГДА МЕСЯЦ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) = 1
	|					И МЕСЯЦ(&ВремяФормированияЗадач) = 12
	|				ТОГДА ДОБАВИТЬКДАТЕ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения, ГОД, ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения) + 1)
	|			ИНАЧЕ ДОБАВИТЬКДАТЕ(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения, ГОД, ГОД(&ВремяФормированияЗадач) - ГОД(РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения))
	|		КОНЕЦ МЕЖДУ ДОБАВИТЬКДАТЕ(&ВремяФормированияЗадач, ДЕНЬ, -5) И ДОБАВИТЬКДАТЕ(&ВремяФормированияЗадач, ДЕНЬ, 5)
	|	И РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.ДатаРождения <> ДАТАВРЕМЯ(1, 1, 1)
	|	И Существующие.ФизЛицо ЕСТЬ NULL 
	|	И РаботникиОрганизацийСрезПоследних.Сотрудник.ВидДоговора В("+УправлениеЗадачамиПереопределяемый.ВернутьВидыДоговоров(Истина, Истина)+")
	|
	|УПОРЯДОЧИТЬ ПО
	|	Период,
	|	Наименование";*/
			//ЗапросДляДнейРождения.Параметры.Вставить("ВремяФормированияЗадач", ВремяФормированияЗадач);
			//ВыборкаДнейРождения = ЗапросДляДнейРождения.Выполнить().Выбрать();
			while(true/*ВыборкаДнейРождения.Следующий()*/)
			{
				//ФИОСотрудника = СокрЛП(ВыборкаДнейРождения.Наименование);
				if(true/*ВыборкаДнейРождения.ДополнительныеДанные*/)
				{
					//НаименованиеЗадачи = "Поздравить " + Формат(ВыборкаДнейРождения.Период, "ДФ=""д ММММ""") + " с юбилеем сотрудника " + ФИОСотрудника;
				}
				//ЗадачаДнейРождения = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаДнейРождения.Дата			= НачалоДня(ВыборкаДнейРождения.Период);
				//ЗадачаДнейРождения.ВидЗадачи	= Справочники.ВидыЗадачПользователей.ДеньРождения;
				//ЗадачаДнейРождения.ОбъектЗадачи	= ВыборкаДнейРождения.Ссылка;
				//ЗадачаДнейРождения.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаДнейРождения, ВыборкаДнейРождения.Организация, Справочники.РолиИсполнителей.Кадровик);
				//ЗадачаДнейРождения.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиДоначисление(/**/)
		{
			//ЗапросДопначислений = Новый Запрос;
			/*ЗапросДопначислений.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Доначисления.Сотрудник КАК Ссылка,
	|	Доначисления.Сотрудник.Физлицо.Пол КАК Пол,
	|	ПРЕДСТАВЛЕНИЕ(Доначисления.Сотрудник) КАК Наименование,
	|	Доначисления.Организация КАК Организация,
	|	Доначисления.ПериодДействия КАК Период,
	|	Доначисления.ДатаНачала КАК ДатаНачала,
	|	Доначисления.ДатаОкончания КАК ДатаОкончания
	|ИЗ
	|	РегистрСведений.ДоначисленияСотрудникам КАК Доначисления
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Задачи.ОбъектЗадачи КАК Сотрудник
	|		ИЗ
	|			Задача.ЗадачаИсполнителя КАК Задачи
	|		ГДЕ
	|			Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.Доначисление)) КАК Существующие
	|		ПО (Существующие.Сотрудник = Доначисления.Сотрудник)
	|ГДЕ
	|	Существующие.Сотрудник ЕСТЬ NULL ";*/
			//ВыборкаДопначислений = ЗапросДопначислений.Выполнить().Выбрать();
			while(true/*ВыборкаДопначислений.Следующий()*/)
			{
				//ФИОСотрудника = СокрЛП(ВыборкаДопначислений.Наименование);
				//НаименованиеЗадачи = "Доначислить сотруднику " + ФИОСотрудника + " зарплату за " + ПредставлениеПериода(ВыборкаДопначислений.ДатаНачала, ВыборкаДопначислений.ДатаОкончания);
				//ЗадачаДоначисления = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаДоначисления.Дата			= НачалоДня(ОбщегоНазначения.ПолучитьРабочуюДату());
				//ЗадачаДоначисления.ВидЗадачи	= Справочники.ВидыЗадачПользователей.Доначисление;
				//ЗадачаДоначисления.ОбъектЗадачи	= ВыборкаДопначислений.Ссылка;
				//ЗадачаДоначисления.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаДоначисления, ВыборкаДопначислений.Организация, Справочники.РолиИсполнителей.Расчетчик);
				//ЗадачаДоначисления.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиНамеченныеСобытияПоПерсоналу(/*ВремяФормированияЗадач, МассивОрганизаций, ЕстьЗадачиВозвратНаРаботу, ЕстьЗадачиКадровоеПеремещение, ЕстьЗадачиОценкаИспытательногоСрока, ЕстьЗадачиУвольнение*/)
		{
			if(true/*НЕ ЕстьЗадачиВозвратНаРаботу И НЕ ЕстьЗадачиКадровоеПеремещение И НЕ ЕстьЗадачиОценкаИспытательногоСрока И НЕ ЕстьЗадачиУвольнение*/)
			{
			}
			//ДатаНачала		= ОбщегоНазначения.ДобавитьИнтервал(ВремяФормированияЗадач,Перечисления.Периодичность.Месяц, -1);
			//ДатаОкончания	= ОбщегоНазначения.ДобавитьИнтервал(ВремяФормированияЗадач,Перечисления.Периодичность.Неделя, 1);
			//Результат = Обработки.ПоказНамеченныхСобытийПоПерсоналу.Создать().СформироватьЗапрос(МассивОрганизаций, ДатаНачала, ДатаОкончания);
			//ТаблицаНамеченныхСобытий = Результат.Выгрузить();
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("ТаблицаНамеченныхСобытий",	ТаблицаНамеченныхСобытий);
			/*// необходимо сделать условие на запрос, что бы не получать ненужные задачи
*/
			//УсловиеНаЗадачи = "";
			if(true/*НЕ ЕстьЗадачиКадровоеПеремещение = ЕстьЗадачиВозвратНаРаботу
	ИЛИ		НЕ ЕстьЗадачиОценкаИспытательногоСрока = ЕстьЗадачиВозвратНаРаботу
	ИЛИ		НЕ ЕстьЗадачиУвольнение = ЕстьЗадачиВозвратНаРаботу*/)
			{
				//ОграничениеНаЗадачи = "";
				if(true/*НЕ ЕстьЗадачиКадровоеПеремещение = ЕстьЗадачиВозвратНаРаботу*/)
				{
					//ОграничениеНаЗадачи = "ЗНАЧЕНИЕ(Перечисление.НамеченныеСобытияПоПерсоналу.Перемещение)";
				}
				if(true/*НЕ ЕстьЗадачиОценкаИспытательногоСрока = ЕстьЗадачиВозвратНаРаботу*/)
				{
					if(true/*НЕ ПустаяСтрока(ОграничениеНаЗадачи)*/)
					{
						//ОграничениеНаЗадачи = ОграничениеНаЗадачи + ",";
					}
					//ОграничениеНаЗадачи = ОграничениеНаЗадачи + "ЗНАЧЕНИЕ(Перечисление.НамеченныеСобытияПоПерсоналу.РезультатИспытательногоСрока)";
				}
				if(true/*НЕ ЕстьЗадачиУвольнение = ЕстьЗадачиВозвратНаРаботу*/)
				{
					if(true/*НЕ ПустаяСтрока(ОграничениеНаЗадачи)*/)
					{
						//ОграничениеНаЗадачи = ОграничениеНаЗадачи + ",";
					}
					//ОграничениеНаЗадачи = ОграничениеНаЗадачи + "ЗНАЧЕНИЕ(Перечисление.НамеченныеСобытияПоПерсоналу.Увольнение)";
				}
				//УсловиеНаЗадачи = "ГДЕ ("+?(ЕстьЗадачиВозвратНаРаботу, "НЕ ", "") + "ТаблицаНамеченныхСобытий.ПланируемоеСобытие В ("+ОграничениеНаЗадачи+"))";
			}
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	ТаблицаНамеченныхСобытий.ПланируемоеСобытие,
	|	ТаблицаНамеченныхСобытий.ДатаИзменения,
	|	ТаблицаНамеченныхСобытий.Сотрудник,
	|	ТаблицаНамеченныхСобытий.СотрудникНаименование,
	|	ТаблицаНамеченныхСобытий.Организация,
	|	ТаблицаНамеченныхСобытий.Подразделение,
	|	ТаблицаНамеченныхСобытий.Должность,
	|	ВЫБОР
	|		КОГДА ТаблицаНамеченныхСобытий.ПланируемоеСобытие = ЗНАЧЕНИЕ(Перечисление.НамеченныеСобытияПоПерсоналу.Перемещение)
	|			ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.КадровоеПеремещение)
	|		КОГДА ТаблицаНамеченныхСобытий.ПланируемоеСобытие = ЗНАЧЕНИЕ(Перечисление.НамеченныеСобытияПоПерсоналу.РезультатИспытательногоСрока)
	|			ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.ОценкаИспытательногоСрока)
	|		КОГДА ТаблицаНамеченныхСобытий.ПланируемоеСобытие = ЗНАЧЕНИЕ(Перечисление.НамеченныеСобытияПоПерсоналу.Увольнение)
	|			ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.Увольнение)
	|		ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.ВозвратНаРаботу)
	|	КОНЕЦ КАК ВидЗадачи
	|ПОМЕСТИТЬ ВТ_НамеченныеСобытия
	|ИЗ
	|	&ТаблицаНамеченныхСобытий КАК ТаблицаНамеченныхСобытий
	|
	|"+УсловиеНаЗадачи+"
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	НамеченныеСобытия.ПланируемоеСобытие,
	|	НамеченныеСобытия.ДатаИзменения,
	|	НамеченныеСобытия.СотрудникНаименование,
	|	НамеченныеСобытия.ВидЗадачи,
	|	НамеченныеСобытия.Сотрудник,
	|	НамеченныеСобытия.Организация,
	|	НамеченныеСобытия.Подразделение,
	|	НамеченныеСобытия.Должность
	|ИЗ
	|	ВТ_НамеченныеСобытия КАК НамеченныеСобытия
	|		ЛЕВОЕ СОЕДИНЕНИЕ Задача.ЗадачаИсполнителя КАК Задачи
	|		ПО НамеченныеСобытия.Сотрудник = Задачи.ОбъектЗадачи
	|			И НамеченныеСобытия.ДатаИзменения = Задачи.Дата
	|			И НамеченныеСобытия.ВидЗадачи = Задачи.ВидЗадачи
	|ГДЕ
	|	Задачи.Ссылка ЕСТЬ NULL ";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//ФИОСотрудника = СокрЛП(Выборка.СотрудникНаименование);
				//НаименованиеЗадачи = "";
				if(true/*Выборка.ПланируемоеСобытие = Перечисления.НамеченныеСобытияПоПерсоналу.Заболевание*/)
				{
					//НаименованиеЗадачи	= "Выздоровление сотрудника " + ФИОСотрудника;
				}
				//ЗадачаПоПерсоналу = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаПоПерсоналу.Дата			= НачалоДня(Выборка.ДатаИзменения);
				//ЗадачаПоПерсоналу.ВидЗадачи		= Выборка.ВидЗадачи;
				//ЗадачаПоПерсоналу.ОбъектЗадачи	= Выборка.Сотрудник;
				//ЗадачаПоПерсоналу.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаПоПерсоналу, Выборка.Организация, Справочники.РолиИсполнителей.Кадровик, Выборка.Подразделение);
				//ЗадачаПоПерсоналу.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиПриемНаРаботу(/*ВремяФормированияЗадач, МассивОрганизаций*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	СотрудникиОрганизаций.Ссылка КАК Сотрудник,
	|	СотрудникиОрганизаций.Ссылка.Наименование КАК Наименование,
	|	СотрудникиОрганизаций.Ссылка.Физлицо.Пол КАК Пол,
	|	СотрудникиОрганизаций.ОбособленноеПодразделение КАК Организация
	|ИЗ
	|	Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизаций
	|		ПО (РаботникиОрганизаций.Сотрудник = СотрудникиОрганизаций.Ссылка)
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			Задачи.ОбъектЗадачи КАК Сотрудник
	|		ИЗ
	|			Задача.ЗадачаИсполнителя КАК Задачи
	|		ГДЕ
	|			Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.ПриемНаРаботу)) КАК Существующие
	|		ПО (Существующие.Сотрудник = СотрудникиОрганизаций.Ссылка)
	|ГДЕ
	|	(НЕ СотрудникиОрганизаций.ЭтоГруппа)
	|	И (НЕ СотрудникиОрганизаций.ПометкаУдаления)
	|	И СотрудникиОрганизаций.ВидДоговора В ("+УправлениеЗадачамиПереопределяемый.ВернутьВидыДоговоров(Истина, Ложь)+")
	|	И РаботникиОрганизаций.Сотрудник ЕСТЬ NULL
	|	И Существующие.Сотрудник ЕСТЬ NULL
	|	И СотрудникиОрганизаций.Актуальность";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//ФИОСотрудника = СокрЛП(Выборка.Наименование);
				//НаименованиеЗадачи = "Принять на работу сотрудника " + ФИОСотрудника;
				//ЗадачаПоПерсоналу = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаПоПерсоналу.Дата			= НачалоДня(ВремяФормированияЗадач);
				//ЗадачаПоПерсоналу.ВидЗадачи		= Справочники.ВидыЗадачПользователей.ПриемНаРаботу;
				//ЗадачаПоПерсоналу.ОбъектЗадачи	= Выборка.Сотрудник;
				//ЗадачаПоПерсоналу.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаПоПерсоналу, Выборка.Организация, Справочники.РолиИсполнителей.Кадровик);
				//ЗадачаПоПерсоналу.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиОшибкиПриемаПоОсновномуМестуРаботы(/*ВремяФормированияЗадач*/)
		{
			//ЗапросОшибокПеремещений = Новый Запрос;
			/*ЗапросОшибокПеремещений.Текст =
	"ВЫБРАТЬ
	|	Ошибки.Ссылка КАК Ссылка,
	|	Ошибки.Пол КАК Пол,
	|	Ошибки.Наименование КАК Наименование,
	|	Ошибки.Организация КАК Организация,
	|	Ошибки.Период КАК Период
	|ИЗ
	|	(ВЫБРАТЬ
	|		ОшибкиОМР.Физлицо КАК Ссылка,
	|		ОшибкиОМР.Физлицо.Пол КАК Пол,
	|		ОшибкиОМР.Физлицо.Наименование КАК Наименование,
	|		NULL КАК Организация,
	|		NULL КАК НаименованиеОрганизации,
	|		&ВремяФормированияЗадач КАК Период
	|	ИЗ
	|		РегистрСведений.ПериодыРаботыРаботниковОрганизацийПоОсновномуМестуРаботыОшибки КАК ОшибкиОМР
	|	ГДЕ
	|		(НЕ ОшибкиОМР.Физлицо.Наименование ЕСТЬ NULL )) КАК Ошибки
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			Задачи.ОбъектЗадачи КАК ФизЛицо
	|		ИЗ
	|			Задача.ЗадачаИсполнителя КАК Задачи
	|		ГДЕ
	|			Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.ОшибкиПриемаПоОсновномуМестуРаботы)) КАК Существующие
	|		ПО (Существующие.ФизЛицо = Ошибки.Ссылка)
	|ГДЕ
	|	Существующие.ФизЛицо ЕСТЬ NULL ";*/
			//ЗапросОшибокПеремещений.Параметры.Вставить("ВремяФормированияЗадач", ВремяФормированияЗадач);
			//ВыборкаОшибокПеремещений = ЗапросОшибокПеремещений.Выполнить().Выбрать();
			while(true/*ВыборкаОшибокПеремещений.Следующий()*/)
			{
				//ФИОСотрудника = СокрЛП(ВыборкаОшибокПеремещений.Наименование);
				//НаименованиеЗадачи = "Ошибки в документах приема по основному месту работы у сотрудника " + ФИОСотрудника;
				//ЗадачаОшибокПеремещений = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаОшибокПеремещений.Дата			= НачалоДня(ВыборкаОшибокПеремещений.Период);
				//ЗадачаОшибокПеремещений.ВидЗадачи		= Справочники.ВидыЗадачПользователей.ОшибкиПриемаПоОсновномуМестуРаботы;
				//ЗадачаОшибокПеремещений.ОбъектЗадачи	= ВыборкаОшибокПеремещений.Ссылка;
				//ЗадачаОшибокПеремещений.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаОшибокПеремещений, ВыборкаОшибокПеремещений.Организация, Справочники.РолиИсполнителей.Кадровик);
				//ЗадачаОшибокПеремещений.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиОшибкиПриемаПоСовместительству(/*ВремяФормированияЗадач*/)
		{
			//ЗапросОшибокПеремещений = Новый Запрос;
			/*ЗапросОшибокПеремещений.Текст =
	"ВЫБРАТЬ
	|	Ошибки.Ссылка КАК Ссылка,
	|	Ошибки.Пол КАК Пол,
	|	Ошибки.Наименование КАК Наименование,
	|	Ошибки.Организация КАК Организация,
	|	Ошибки.Период КАК Период
	|ИЗ
	|	(ВЫБРАТЬ
	|		ОшибкиСовм.Физлицо КАК Ссылка,
	|		ОшибкиСовм.Физлицо.Пол КАК Пол,
	|		ОшибкиСовм.Физлицо.Наименование КАК Наименование,
	|		ОшибкиСовм.Организация КАК Организация,
	|		ОшибкиСовм.Организация.Наименование КАК НаименованиеОрганизации,
	|		&ВремяФормированияЗадач КАК Период
	|	ИЗ
	|		РегистрСведений.ПериодыРаботыРаботниковОрганизацийПоСовместительствуОшибки КАК ОшибкиСовм
	|	ГДЕ
	|		(НЕ ОшибкиСовм.Физлицо.Наименование ЕСТЬ NULL )) КАК Ошибки
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			Задачи.ОбъектЗадачи КАК ФизЛицо
	|		ИЗ
	|			Задача.ЗадачаИсполнителя КАК Задачи
	|		ГДЕ
	|			Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.ОшибкиПриемаПоСовместительству)) КАК Существующие
	|		ПО (Существующие.ФизЛицо = Ошибки.Ссылка)
	|ГДЕ
	|	Существующие.ФизЛицо ЕСТЬ NULL ";*/
			//ЗапросОшибокПеремещений.Параметры.Вставить("ВремяФормированияЗадач", ВремяФормированияЗадач);
			//ВыборкаОшибокПеремещений = ЗапросОшибокПеремещений.Выполнить().Выбрать();
			while(true/*ВыборкаОшибокПеремещений.Следующий()*/)
			{
				//ФИОСотрудника = СокрЛП(ВыборкаОшибокПеремещений.Наименование);
				//НаименованиеЗадачи = "Ошибки в документах приема по совместительству у сотрудника " + ФИОСотрудника;
				//ЗадачаОшибокПеремещений = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаОшибокПеремещений.Дата			= НачалоДня(ВыборкаОшибокПеремещений.Период);
				//ЗадачаОшибокПеремещений.ВидЗадачи		= Справочники.ВидыЗадачПользователей.ОшибкиПриемаПоСовместительству;
				//ЗадачаОшибокПеремещений.ОбъектЗадачи	= ВыборкаОшибокПеремещений.Ссылка;
				//ЗадачаОшибокПеремещений.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаОшибокПеремещений, ВыборкаОшибокПеремещений.Организация, Справочники.РолиИсполнителей.Кадровик);
				//ЗадачаОшибокПеремещений.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиПерезаполнение(/*АктуальныйПериодРегистрации*/)
		{
			//ЗапросПерезаполнения = Новый Запрос;
			/*ЗапросПерезаполнения.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ПлановыеНачисления.ОбъектЗаполнения КАК Ссылка,
	|	ПРЕДСТАВЛЕНИЕ(ПлановыеНачисления.ОбъектЗаполнения) КАК Наименование,
	|	ПлановыеНачисления.ОбособленноеПодразделение КАК Организация,
	|	ПлановыеНачисления.ПериодРегистрации КАК Период
	|ИЗ
	|	РегистрСведений.ЗаполнениеПлановыхНачислений КАК ПлановыеНачисления
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			Задачи.ОбъектЗадачи КАК ОбъектЗаполнения
	|		ИЗ
	|			Задача.ЗадачаИсполнителя КАК Задачи
	|		ГДЕ
	|			Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.Перезаполнение)) КАК Существующие
	|		ПО (Существующие.ОбъектЗаполнения = ПлановыеНачисления.ОбъектЗаполнения)
	|ГДЕ
	|	ПлановыеНачисления.ПериодРегистрации >= &АктуальныйПериодРегистрации
	|	И Существующие.ОбъектЗаполнения ЕСТЬ NULL ";*/
			//ЗапросПерезаполнения.Параметры.Вставить("АктуальныйПериодРегистрации", АктуальныйПериодРегистрации);
			//ВыборкаПерезаполнения = ЗапросПерезаполнения.Выполнить().Выбрать();
			while(true/*ВыборкаПерезаполнения.Следующий()*/)
			{
				//НаименованиеЗадачи = "Перезаполнить и перерассчитать " +СокрЛП(ВыборкаПерезаполнения.Наименование);
				//ЗадачаПерезаполнения = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаПерезаполнения.Дата			= НачалоДня(ВыборкаПерезаполнения.Период);
				//ЗадачаПерезаполнения.ВидЗадачи		= Справочники.ВидыЗадачПользователей.Перезаполнение;
				//ЗадачаПерезаполнения.ОбъектЗадачи	= ВыборкаПерезаполнения.Ссылка;
				//ЗадачаПерезаполнения.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаПерезаполнения, ВыборкаПерезаполнения.Организация, Справочники.РолиИсполнителей.Расчетчик);
				//ЗадачаПерезаполнения.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиПерерасчет(/*АктуальныйПериодРегистрации, МассивОрганизаций*/)
		{
			//Результат = Обработки.ПерерасчетЗарплатыОрганизаций.Создать().СформироватьЗапрос(МассивОрганизаций, АктуальныйПериодРегистрации);
			//ТаблицаПерерасчетов = Результат.Выгрузить();
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("ТаблицаПерерасчетов",	ТаблицаПерерасчетов);
			//Запрос.УстановитьПараметр("АктуальныйПериодРегистрации", АктуальныйПериодРегистрации);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	ТаблицаПерерасчетов.Наименование,
	|	ТаблицаПерерасчетов.ПериодРегистрации,
	|	ТаблицаПерерасчетов.Документ,
	|	ТаблицаПерерасчетов.Организация
	|ПОМЕСТИТЬ ВТ_Перерасчеты
	|ИЗ
	|	&ТаблицаПерерасчетов КАК ТаблицаПерерасчетов
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	Перерасчеты.Наименование,
	|	Перерасчеты.ПериодРегистрации,
	|	Перерасчеты.Документ,
	|	Перерасчеты.Организация
	|ИЗ
	|	ВТ_Перерасчеты КАК Перерасчеты
	|		ЛЕВОЕ СОЕДИНЕНИЕ Задача.ЗадачаИсполнителя КАК Задачи
	|		ПО Перерасчеты.Документ = Задачи.ОбъектЗадачи
	|			И (Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.Перерасчет))
	|			И (НАЧАЛОПЕРИОДА(Задачи.Дата, ДЕНЬ) = Перерасчеты.ПериодРегистрации)
	|ГДЕ
	|	Задачи.Ссылка ЕСТЬ NULL ";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//НаименованиеЗадачи = "Перерассчитать " + СокрЛП(Выборка.Наименование);
				//ЗадачаПерерасчета = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаПерерасчета.Дата			= НачалоДня(Выборка.ПериодРегистрации);
				//ЗадачаПерерасчета.ВидЗадачи		= Справочники.ВидыЗадачПользователей.Перерасчет;
				//ЗадачаПерерасчета.ОбъектЗадачи	= Выборка.Документ;
				//ЗадачаПерерасчета.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаПерерасчета, Выборка.Организация, Справочники.РолиИсполнителей.Расчетчик);
				//ЗадачаПерерасчета.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиПроизводственныйКалендарь(/*ВремяФормированияЗадач*/)
		{
			//ПервыйГод	= Год(ДобавитьМесяц(ВремяФормированияЗадач, -1));
			//ВторойГод	= Год(ДобавитьМесяц(ВремяФормированияЗадач, 1));
			//Запрос = Новый Запрос;
			/*Запрос.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Календарь.Год КАК Год
	|ИЗ
	|	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК Календарь
	|ГДЕ
	|	Календарь.Год МЕЖДУ &ПервыйГод И &ВторойГод
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Задачи.ОбъектЗадачи
	|ИЗ
	|	Задача.ЗадачаИсполнителя КАК Задачи
	|ГДЕ
	|	Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.ПроизводственныйКалендарь)
	|	И Задачи.ОбъектЗадачи МЕЖДУ &ПервыйГод И &ВторойГод";*/
			//Запрос.УстановитьПараметр("ПервыйГод",	ПервыйГод);
			//Запрос.УстановитьПараметр("ВторойГод",	ВторойГод);
			//Результат = Запрос.Выполнить();
			//ДваГода = ПервыйГод <> ВторойГод;
			//ЗаполнятьПервыйГод	= Результат.Пустой();
			//ЗаполнятьВторойГод	= Результат.Пустой() И ДваГода;
			//Выборка = Результат.Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				if(true/*Выборка.Год = ПервыйГод*/)
				{
					//ЗаполнятьПервыйГод	= Ложь;
				}
				if(true/*Выборка.Год = ВторойГод И ДваГода*/)
				{
					//ЗаполнятьВторойГод	= Ложь;
				}
			}
			if(true/*ЗаполнятьПервыйГод*/)
			{
				//НаименованиеЗадачи = "Заполнить производственный календарь за " + Формат(ПервыйГод,"ЧЦ=4; ЧГ=0") + " год";
				/*;
		
		ЗадачаКалендаря = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();*/
				//ЗадачаКалендаря.Дата			= Дата(ПервыйГод, 1, 1);
				//ЗадачаКалендаря.ВидЗадачи		= Справочники.ВидыЗадачПользователей.ПроизводственныйКалендарь;
				//ЗадачаКалендаря.ОбъектЗадачи	= ПервыйГод;
				//ЗадачаКалендаря.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаКалендаря, Справочники.Организации.ПустаяСсылка(), Справочники.РолиИсполнителей.ПустаяСсылка());
				//ЗадачаКалендаря.Записать();
			}
			if(true/*ЗаполнятьВторойГод*/)
			{
				//НаименованиеЗадачи = "Заполнить производственный календарь за " + Формат(ВторойГод,"ЧЦ=4; ЧГ=0") + " год";
				/*;
		
		ЗадачаКалендаря = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();*/
				//ЗадачаКалендаря.Дата			= Дата(ВторойГод, 1, 1);
				//ЗадачаКалендаря.ВидЗадачи		= Справочники.ВидыЗадачПользователей.ПроизводственныйКалендарь;
				//ЗадачаКалендаря.ОбъектЗадачи	= ВторойГод;
				//ЗадачаКалендаря.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаКалендаря, Справочники.Организации.ПустаяСсылка(), Справочники.РолиИсполнителей.ПустаяСсылка());
				//ЗадачаКалендаря.Записать();
			}
		}

		public void ДобавитьЗадачиРасчетЗарплаты(/*АктуальныйПериодРегистрации*/)
		{
			//ЗапросРасчетаЗарплаты = Новый Запрос;
			/*ЗапросРасчетаЗарплаты.Текст =
	"ВЫБРАТЬ
	|	КОНЕЦПЕРИОДА(&АктуальныйПериодРегистрации, МЕСЯЦ) КАК Период,
	|	Организации.Ссылка КАК Организация,
	|	Организации.Наименование КАК НаименованиеОрганизации,
	|	НачислениеЗарплатыРаботникамОрганизаций.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.Организации КАК Организации
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			МАКСИМУМ(НачислениеЗарплатыРаботникамОрганизаций.Ссылка) КАК Ссылка,
	|			НачислениеЗарплатыРаботникамОрганизаций.Организация КАК Организация
	|		ИЗ
	|			Документ.НачислениеЗарплатыРаботникамОрганизаций КАК НачислениеЗарплатыРаботникамОрганизаций
	|		ГДЕ
	|			НачислениеЗарплатыРаботникамОрганизаций.ПериодРегистрации = &АктуальныйПериодРегистрации
	|			И (НЕ НачислениеЗарплатыРаботникамОрганизаций.ПометкаУдаления)
	|		
	|		СГРУППИРОВАТЬ ПО
	|			НачислениеЗарплатыРаботникамОрганизаций.Организация) КАК НачислениеЗарплатыРаботникамОрганизаций
	|		ПО Организации.Ссылка = НачислениеЗарплатыРаботникамОрганизаций.Организация
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			Задачи.ОбъектЗадачи КАК Организация,
	|			Задачи.Дата КАК Дата
	|		ИЗ
	|			Задача.ЗадачаИсполнителя КАК Задачи
	|		ГДЕ
	|			Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.РасчетЗарплаты)) КАК Существующие
	|		ПО (Существующие.Организация = Организации.Ссылка)
	|			И (Существующие.Дата = КОНЕЦПЕРИОДА(&АктуальныйПериодРегистрации, МЕСЯЦ))
	|ГДЕ
	|	(НЕ 1 В
	|				(ВЫБРАТЬ ПЕРВЫЕ 1
	|					1
	|				ИЗ
	|					Документ.НачислениеЗарплатыРаботникамОрганизаций КАК Док
	|				ГДЕ
	|					Док.Организация = Организации.Ссылка
	|					И Док.Проведен
	|					И Док.ПериодРегистрации = &АктуальныйПериодРегистрации))
	|	И Существующие.Организация ЕСТЬ NULL 
	|
	|УПОРЯДОЧИТЬ ПО
	|	Период,
	|	НаименованиеОрганизации";*/
			//ЗапросРасчетаЗарплаты.Параметры.Вставить("АктуальныйПериодРегистрации", АктуальныйПериодРегистрации);
			//Выборка = ЗапросРасчетаЗарплаты.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//НаименованиеОрганизации = "";
				if(true/*Не ПустаяСтрока(Выборка.НаименованиеОрганизации)*/)
				{
					//НаименованиеОрганизации = " по " + ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("организации ") + СокрЛП(Выборка.НаименованиеОрганизации);
				}
				//НаименованиеЗадачи = "Начислить зарплату за " + Формат(Выборка.Период, "ДФ='ММММ'") + НаименованиеОрганизации;
				//ЗадачаРасчетаЗарплаты = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаРасчетаЗарплаты.Дата			= КонецДня(Выборка.Период);
				//ЗадачаРасчетаЗарплаты.ВидЗадачи		= Справочники.ВидыЗадачПользователей.РасчетЗарплаты;
				//ЗадачаРасчетаЗарплаты.ОбъектЗадачи	= Выборка.Организация;
				//ЗадачаРасчетаЗарплаты.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаРасчетаЗарплаты, Выборка.Организация, Справочники.РолиИсполнителей.Расчетчик);
				//ЗадачаРасчетаЗарплаты.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиРасчетЕСН(/*АктуальныйПериодРегистрации*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	КОНЕЦПЕРИОДА(&АктуальныйПериодРегистрации, МЕСЯЦ) КАК Период,
	|	Организации.Ссылка КАК Организация,
	|	Организации.Наименование КАК НаименованиеОрганизации,
	|	ДокументРасчетЕСН.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.Организации КАК Организации
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			МАКСИМУМ(РасчетЕСН.Ссылка) КАК Ссылка,
	|			РасчетЕСН.Организация КАК Организация
	|		ИЗ
	|			Документ.РасчетЕСН КАК РасчетЕСН
	|		ГДЕ
	|			РасчетЕСН.ПериодРегистрации = &АктуальныйПериодРегистрации
	|			И (НЕ РасчетЕСН.ПометкаУдаления)
	|		
	|		СГРУППИРОВАТЬ ПО
	|			РасчетЕСН.Организация) КАК ДокументРасчетЕСН
	|		ПО Организации.Ссылка = ДокументРасчетЕСН.Организация
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			Задачи.ОбъектЗадачи КАК Организация,
	|			Задачи.Дата КАК Дата
	|		ИЗ
	|			Задача.ЗадачаИсполнителя КАК Задачи
	|		ГДЕ
	|			Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.РасчетЕСН)) КАК Существующие
	|		ПО (Существующие.Организация = Организации.Ссылка)
	|			И (Существующие.Дата = КОНЕЦПЕРИОДА(&АктуальныйПериодРегистрации, МЕСЯЦ))
	|ГДЕ
	|	1 В
	|			(ВЫБРАТЬ ПЕРВЫЕ 1
	|				1
	|			ИЗ
	|				Документ.НачислениеЗарплатыРаботникамОрганизаций КАК Док
	|			ГДЕ
	|				Док.Организация = Организации.Ссылка
	|				И Док.Проведен
	|				И Док.ПериодРегистрации = &АктуальныйПериодРегистрации)
	|	И (НЕ 2 В
	|				(ВЫБРАТЬ ПЕРВЫЕ 1
	|					2
	|				ИЗ
	|					Документ.РасчетЕСН КАК ДокЕСН
	|				ГДЕ
	|					ДокЕСН.Организация = Организации.Ссылка
	|					И ДокЕСН.Проведен
	|					И ДокЕСН.ПериодРегистрации = &АктуальныйПериодРегистрации))
	|	И Существующие.Организация ЕСТЬ NULL 
	|
	|УПОРЯДОЧИТЬ ПО
	|	Период,
	|	НаименованиеОрганизации";*/
			//Запрос.Параметры.Вставить("АктуальныйПериодРегистрации", АктуальныйПериодРегистрации);
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//НаименованиеОрганизации = "";
				if(true/*Не ПустаяСтрока(Выборка.НаименованиеОрганизации)*/)
				{
					//НаименованиеОрганизации = " по " + ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("организации ") + СокрЛП(Выборка.НаименованиеОрганизации);
				}
				//НаименованиеЗадачи = "Рассчитать ЕСН за " + Формат(Выборка.Период, "ДФ='ММММ'") + НаименованиеОрганизации;
				//ЗадачаРасчета = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаРасчета.Дата			= КонецДня(Выборка.Период);
				//ЗадачаРасчета.ВидЗадачи		= Справочники.ВидыЗадачПользователей.РасчетЕСН;
				//ЗадачаРасчета.ОбъектЗадачи	= Выборка.Организация;
				//ЗадачаРасчета.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаРасчета, Выборка.Организация, Справочники.РолиИсполнителей.Расчетчик);
				//ЗадачаРасчета.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиРасчетСтраховыхВзносов(/*АктуальныйПериодРегистрации*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	КОНЕЦПЕРИОДА(&АктуальныйПериодРегистрации, МЕСЯЦ) КАК Период,
	|	Организации.Ссылка КАК Организация,
	|	Организации.Наименование КАК НаименованиеОрганизации,
	|	ДокументРасчетСтраховыхВзносов.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.Организации КАК Организации
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			МАКСИМУМ(РасчетСтраховыхВзносов.Ссылка) КАК Ссылка,
	|			РасчетСтраховыхВзносов.Организация КАК Организация
	|		ИЗ
	|			Документ.РасчетСтраховыхВзносов КАК РасчетСтраховыхВзносов
	|		ГДЕ
	|			РасчетСтраховыхВзносов.ПериодРегистрации = &АктуальныйПериодРегистрации
	|			И (НЕ РасчетСтраховыхВзносов.ПометкаУдаления)
	|		
	|		СГРУППИРОВАТЬ ПО
	|			РасчетСтраховыхВзносов.Организация) КАК ДокументРасчетСтраховыхВзносов
	|		ПО Организации.Ссылка = ДокументРасчетСтраховыхВзносов.Организация
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			Задачи.ОбъектЗадачи КАК Организация,
	|			Задачи.Дата КАК Дата
	|		ИЗ
	|			Задача.ЗадачаИсполнителя КАК Задачи
	|		ГДЕ
	|			Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.РасчетСтраховыхВзносов)) КАК Существующие
	|		ПО (Существующие.Организация = Организации.Ссылка)
	|			И (Существующие.Дата = КОНЕЦПЕРИОДА(&АктуальныйПериодРегистрации, МЕСЯЦ))
	|ГДЕ
	|	1 В
	|			(ВЫБРАТЬ ПЕРВЫЕ 1
	|				1
	|			ИЗ
	|				Документ.НачислениеЗарплатыРаботникамОрганизаций КАК Док
	|			ГДЕ
	|				Док.Организация = Организации.Ссылка
	|				И Док.Проведен
	|				И Док.ПериодРегистрации = &АктуальныйПериодРегистрации)
	|	И (НЕ 2 В
	|				(ВЫБРАТЬ ПЕРВЫЕ 1
	|					2
	|				ИЗ
	|					Документ.РасчетСтраховыхВзносов КАК ДокЕСН
	|				ГДЕ
	|					ДокЕСН.Организация = Организации.Ссылка
	|					И ДокЕСН.Проведен
	|					И ДокЕСН.ПериодРегистрации = &АктуальныйПериодРегистрации))
	|	И Существующие.Организация ЕСТЬ NULL 
	|
	|УПОРЯДОЧИТЬ ПО
	|	Период,
	|	НаименованиеОрганизации";*/
			//Запрос.Параметры.Вставить("АктуальныйПериодРегистрации", АктуальныйПериодРегистрации);
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//НаименованиеОрганизации = "";
				if(true/*Не ПустаяСтрока(Выборка.НаименованиеОрганизации)*/)
				{
					//НаименованиеОрганизации = " по " + ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("организации ") + СокрЛП(Выборка.НаименованиеОрганизации);
				}
				//НаименованиеЗадачи = "Рассчитать страховые взносы за " + Формат(Выборка.Период, "ДФ='ММММ'") + НаименованиеОрганизации;
				//ЗадачаРасчета = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаРасчета.Дата			= КонецДня(Выборка.Период);
				//ЗадачаРасчета.ВидЗадачи		= Справочники.ВидыЗадачПользователей.РасчетСтраховыхВзносов;
				//ЗадачаРасчета.ОбъектЗадачи	= Выборка.Организация;
				//ЗадачаРасчета.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаРасчета, Выборка.Организация, Справочники.РолиИсполнителей.Расчетчик);
				//ЗадачаРасчета.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиНачислениеПоКадровомуДокументу(/*ВремяФормированияЗадач, СписокОрганизаций*/)
		{
			//ДатаНачала		= НачалоМесяца(ВремяФормированияЗадач);
			//ДатаОкончания	= КонецМесяца(ВремяФормированияЗадач);
			//Результат	= Обработки.АнализНеявок.Создать().СформироватьЗапрос(СписокОрганизаций, , , ДатаНачала, ДатаОкончания, , Истина);
			//ТаблицаНеявок = Результат.Выгрузить();
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			//Запрос.УстановитьПараметр("ТаблицаНеявок",	ТаблицаНеявок);
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	ТаблицаНеявок.КадровыйДокумент,
	|	ТаблицаНеявок.ДатаОкончания,
	|	ТаблицаНеявок.Организация
	|ПОМЕСТИТЬ ВТ_Неявки
	|ИЗ
	|	&ТаблицаНеявок КАК ТаблицаНеявок
	|ГДЕ
	|	(НЕ ТаблицаНеявок.ДатаОкончания ЕСТЬ NULL )
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВТ_Неявки.КадровыйДокумент,
	|	ВТ_Неявки.ДатаОкончания,
	|	ВТ_Неявки.Организация
	|ИЗ
	|	ВТ_Неявки КАК ВТ_Неявки
	|		ЛЕВОЕ СОЕДИНЕНИЕ Задача.ЗадачаИсполнителя КАК Задачи
	|		ПО ВТ_Неявки.КадровыйДокумент = Задачи.ОбъектЗадачи
	|			И (Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.НачислениеПоКадровомуДокументу))
	|ГДЕ
	|	Задачи.Ссылка ЕСТЬ NULL ";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//НаименованиеЗадачи = "Рассчитать документ " + Выборка.КадровыйДокумент;
				//ЗадачаРасчетаЗарплаты = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаРасчетаЗарплаты.Дата			= КонецДня(ВремяФормированияЗадач);
				//ЗадачаРасчетаЗарплаты.ВидЗадачи		= Справочники.ВидыЗадачПользователей.НачислениеПоКадровомуДокументу;
				//ЗадачаРасчетаЗарплаты.Наименование	= НаименованиеЗадачи;
				//ЗадачаРасчетаЗарплаты.ОбъектЗадачи	= Выборка.КадровыйДокумент;
				//ЗаписатьАдресациюЗадачи(ЗадачаРасчетаЗарплаты, Выборка.Организация, Справочники.РолиИсполнителей.Расчетчик);
				//ЗадачаРасчетаЗарплаты.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиОтражениеЗарплатыВУчете(/*АктуальныйПериодРегистрации*/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст =
	"ВЫБРАТЬ
	|	КОНЕЦПЕРИОДА(&АктуальныйПериодРегистрации, МЕСЯЦ) КАК Период,
	|	Организации.Ссылка КАК Организация,
	|	Организации.Наименование КАК НаименованиеОрганизации,
	|	ДокОтражениеЗПвУчете.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.Организации КАК Организации
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			МАКСИМУМ(ОтражениеЗП.Ссылка) КАК Ссылка,
	|			ОтражениеЗП.Организация КАК Организация
	|		ИЗ
	|			Документ.ОтражениеЗарплатыВРеглУчете КАК ОтражениеЗП
	|		ГДЕ
	|			ОтражениеЗП.ПериодРегистрации = &АктуальныйПериодРегистрации
	|			И (НЕ ОтражениеЗП.ПометкаУдаления)
	|		
	|		СГРУППИРОВАТЬ ПО
	|			ОтражениеЗП.Организация) КАК ДокОтражениеЗПвУчете
	|		ПО Организации.Ссылка = ДокОтражениеЗПвУчете.Организация
	|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
	|			Задачи.ОбъектЗадачи КАК Организация,
	|			Задачи.Дата КАК Дата
	|		ИЗ
	|			Задача.ЗадачаИсполнителя КАК Задачи
	|		ГДЕ
	|			Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.ОтражениеЗарплатыВУчете)) КАК Существующие
	|		ПО (Существующие.Организация = Организации.Ссылка)
	|			И (Существующие.Дата = КОНЕЦПЕРИОДА(&АктуальныйПериодРегистрации, МЕСЯЦ))
	|ГДЕ
	|	1 В
	|			(ВЫБРАТЬ ПЕРВЫЕ 1
	|				1
	|			ИЗ
	|				Документ.РасчетЕСН КАК Док
	|			ГДЕ
	|				Док.Организация = Организации.Ссылка
	|				И Док.Проведен
	|				И Док.ПериодРегистрации = &АктуальныйПериодРегистрации
	|		
	|			ОБЪЕДИНИТЬ ВСЕ
	|		
	|			ВЫБРАТЬ ПЕРВЫЕ 1
	|				1
	|			ИЗ
	|				Документ.РасчетСтраховыхВзносов КАК Док
	|			ГДЕ
	|				Док.Организация = Организации.Ссылка
	|				И Док.Проведен
	|				И Док.ПериодРегистрации = &АктуальныйПериодРегистрации)
	|	И (НЕ 2 В
	|				(ВЫБРАТЬ ПЕРВЫЕ 1
	|					2
	|				ИЗ
	|					Документ.ОтражениеЗарплатыВРеглУчете КАК ДокЕСН
	|				ГДЕ
	|					ДокЕСН.Организация = Организации.Ссылка
	|					И ДокЕСН.Проведен
	|					И ДокЕСН.ПериодРегистрации = &АктуальныйПериодРегистрации))
	|	И Существующие.Организация ЕСТЬ NULL 
	|
	|УПОРЯДОЧИТЬ ПО
	|	Период,
	|	НаименованиеОрганизации";*/
			//Запрос.Параметры.Вставить("АктуальныйПериодРегистрации", АктуальныйПериодРегистрации);
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//НаименованиеОрганизации = "";
				if(true/*Не ПустаяСтрока(Выборка.НаименованиеОрганизации)*/)
				{
					//НаименованиеОрганизации = " по " + ОбщегоНазначения.ПреобразоватьСтрокуИнтерфейса("организации ") + СокрЛП(Выборка.НаименованиеОрганизации);
				}
				//НаименованиеЗадачи = "Отразить в учете зарплату за " + Формат(Выборка.Период, "ДФ='ММММ'") + НаименованиеОрганизации;
				//ЗадачаОтраженияЗарплаты = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
				//ЗадачаОтраженияЗарплаты.Дата			= КонецДня(Выборка.Период);
				//ЗадачаОтраженияЗарплаты.ВидЗадачи		= Справочники.ВидыЗадачПользователей.ОтражениеЗарплатыВУчете;
				//ЗадачаОтраженияЗарплаты.ОбъектЗадачи	= Выборка.Организация;
				//ЗадачаОтраженияЗарплаты.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(ЗадачаОтраженияЗарплаты, Выборка.Организация, Справочники.РолиИсполнителей.Расчетчик);
				//ЗадачаОтраженияЗарплаты.Записать();
			}
			//;;
		}

		public void ДобавитьЗадачиСведенияОСтавкахЕСНиПФР(/*ВремяФормированияЗадач*/)
		{
			if(true/*Месяц(ВремяФормированияЗадач) = 12*/)
			{
				/*// проверим заполнение ставок ЕСН на следующий год
*/
				//ГодСтавок = Год(ДобавитьМесяц(ВремяФормированияЗадач, 1));
			}
			if(true/*ГодСтавок >= 2010*/)
			{
			}
			//Запрос = Новый Запрос;
			/*Запрос.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ЕСТЬNULL(СведенияОСтавкахЕСНиПФР.Год, 0) КАК Год
	|ИЗ
	|	РегистрСведений.СведенияОСтавкахЕСНиПФР КАК СведенияОСтавкахЕСНиПФР
	|ГДЕ
	|	СведенияОСтавкахЕСНиПФР.Год = &ГодСтавок
	|	И СведенияОСтавкахЕСНиПФР.НомерСтрокиСтавок = 1
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Задачи.ОбъектЗадачи
	|ИЗ
	|	Задача.ЗадачаИсполнителя КАК Задачи
	|ГДЕ
	|	Задачи.ВидЗадачи = ЗНАЧЕНИЕ(Справочник.ВидыЗадачПользователей.СведенияОСтавкахЕСНиПФР)
	|	И Задачи.ОбъектЗадачи = &ГодСтавок";*/
			//Запрос.УстановитьПараметр("ГодСтавок",	ГодСтавок);
			//Результат = Запрос.Выполнить();
			//ЗаполнятьСведенияОСтавках = Результат.Пустой();
			if(true/*ЗаполнятьСведенияОСтавках*/)
			{
				//НаименованиеЗадачи = "Заполнить Сведения о ставках ЕСН и ПФР на " + Формат(ГодСтавок,"ЧЦ=4; ЧГ=0") + " год";
				/*;
		
		НоваяЗадача = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();*/
				//НоваяЗадача.Дата			= Дата(ГодСтавок, 1, 1);
				//НоваяЗадача.ВидЗадачи		= Справочники.ВидыЗадачПользователей.СведенияОСтавкахЕСНиПФР;
				//НоваяЗадача.ОбъектЗадачи	= ГодСтавок;
				//НоваяЗадача.Наименование	= НаименованиеЗадачи;
				//ЗаписатьАдресациюЗадачи(НоваяЗадача, Справочники.Организации.ПустаяСсылка(), Справочники.РолиИсполнителей.ПустаяСсылка());
				//НоваяЗадача.Записать();
			}
		}
		///////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ УДАЛЕНИЯ ЗАДАЧ ЗАРПЛАТНО-КАДРОВОЙ ФУНКЦИОНАЛЬНОСТИ

		public void УдалитьЗадачуПерерасчет(/*ДокументПерерасчета*/)
		{
			//ПроведениеРасчетов.УдалитьСведенияОПерерасчетеДокумента(ДокументПерерасчета);
			//ПроведениеРасчетов.УдалитьСведенияОПерезаполненииДокумента(ДокументПерерасчета);
		}
	}
}
